import UIKit

@available(iOS 10.0, *)
extension QKC where AA :UIGraphicsImageRendererFormat {
		// display scale of the context. The preferredFormat uses the scale most appropriate for the main screen's current configuration.
    open func scale_qk_s(_ scale:  CGFloat ) -> QKC<AA,YY,ZZ, CGFloat >{
		return link(next: scale).then_QK { $0.value.scale = scale }
	}
    open func scale_qk_g() -> QKC<AA,YY,ZZ, CGFloat >{
		 self +^ self.value.scale
	}

		// indicates the bitmap context will draw fully opaque. The preferredFormat sets this to NO.
    open func opaque_qk_s(_ opaque:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: opaque).then_QK { $0.value.opaque = opaque }
	}
    open func opaque_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.opaque
	}

		// indicates the bitmap context should draw into a context capable of rendering extended color images. The preferredFormat sets this according to the main screen's current configuration.
    @available(iOS, introduced: 10.0, deprecated: 12.0, message: "Use the preferredRange property instead")
    open func prefersExtendedRange_qk_s(_ prefersExtendedRange:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: prefersExtendedRange).then_QK { $0.value.prefersExtendedRange = prefersExtendedRange }
	}
    @available(iOS, introduced: 10.0, deprecated: 12.0, message: "Use the preferredRange property instead")
    open func prefersExtendedRange_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.prefersExtendedRange
	}

    @available(iOS 12.0, *)
    open func preferredRange_qk_s(_ preferredRange:  UIGraphicsImageRendererFormat.Range) -> QKC<AA,YY,ZZ, UIGraphicsImageRendererFormat.Range>{
		return link(next: preferredRange).then_QK { $0.value.preferredRange = preferredRange }
	}
    @available(iOS 12.0, *)
    open func preferredRange_qk_g() -> QKC<AA,YY,ZZ, UIGraphicsImageRendererFormat.Range>{
		 self +^ self.value.preferredRange
	}

}

@available(iOS 10.0, *)
extension QKC where AA :UIGraphicsImageRendererContext {
		// Returns a UIImage representing the current state of the renderer's CGContext
    open func currentImage_qk_g() -> QKC<AA,YY,ZZ, UIImage >{
		 self +^ self.value.currentImage
	}

}

@available(iOS 10.0, *)
extension QKC where AA :UIGraphicsImageRenderer {
	// If the options provided to the renderer contain a rect with a zero width or height size, this will return an empty UIImage.
    open func image_qk_f(actions: (UIGraphicsImageRendererContext) -> Void) -> QKC<AA,YY,ZZ,UIImage>{
		 self +^ self.value.image(actions:actions)
	}

	// These return compressed image data with the contents of the image drawn in the renderer block.
    open func pngData_qk_f(actions: (UIGraphicsImageRendererContext) -> Void) -> QKC<AA,YY,ZZ,Data>{
		 self +^ self.value.pngData(actions:actions)
	}

    open func jpegData_qk_f(withCompressionQuality compressionQuality: CGFloat, actions: (UIGraphicsImageRendererContext) -> Void) -> QKC<AA,YY,ZZ,Data>{
		 self +^ self.value.jpegData(withCompressionQuality:compressionQuality, actions:actions)
	}

}

